package com.hnx.admin.web.exception;

import com.hnx.admin.utils.MessageUtil;
import lombok.Data;
import lombok.NoArgsConstructor;
import org.springframework.util.StringUtils;

/*
项目名称： core
创 建 人: 倔强的头发
创建日期： 2025/5/29   9:06:02 
描   述：
*/
@Data
@NoArgsConstructor
public class BaseException extends RuntimeException{
    public BaseException(String code, Object[] args, String defaultMessage)
    {
        this.code = code;
        this.args = args;
        this.defaultMessage = defaultMessage;
    }
    public BaseException(String code, Object[] args)
    {
        this(code, args, null);
    }
    public BaseException(String code)
    {
       this(code, null);
    }
    /**
     * 错误码
     */
    private String code;
    /**
     * 错误码对应的参数
     */
    private Object[] args;
    /**
     * 错误消息
     */
    private String defaultMessage;
    @Override
    public String getMessage()
    {
        String message = defaultMessage;
        if (StringUtils.hasText(code))
        {
            message = MessageUtil.message(code, args);
        }
        return message;
    }
}
